package com.kaifamiao.demo.d0716;

public class Demo02 {

    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int c = a + b;
        double lo = 10 + 10L;

        int e = 0b00100; // 二进制
        int f = 07010; // 八进制
        int g = 0xa5; // 十六进制

        char ch = '\u6666';

        System.out.println(e);


        // byte short char 在运算后都是 int
        byte b1 = 1;
        byte b2 = 2;

        int b3 = b1 + b2;

        short s1 = 1;
        short s2 = 2;
        int s3 = s1 + s2;

        char ch1 = 1;
        char ch2 = 2;
        int ch3 = ch1 + ch2;

        // 丢失精度, 设计上问题
        double d = 20.2f + 300.03f;

        System.out.println(d);
        // 低 -> 高 自动类型转换
        // 高 -> 低 强制类型转换, 高类型表示的范围大，所以转换为低类型时有可能丢失数据. eg: int 130   byte (-128 ~ 127)
        int num = 10 + (int)10L;
        int num1 = (int)(10 + 10L);

        byte bb = (byte)128;
        System.out.println(bb);

    }

}
